package com.evildog.workspace.invest.application.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.evildog.workspace.common.object.PageQuery;
import com.evildog.workspace.common.result.PagedResult;
import com.evildog.workspace.dependencies.mybatis.object.QueryConditionDTO;
import com.evildog.workspace.invest.application.bo.BillReportListBO;
import com.evildog.workspace.invest.application.bo.BillReportPageBO;
import com.evildog.workspace.invest.application.bo.BillReportStatBO;
import com.evildog.workspace.invest.application.dto.BillReportListDTO;
import com.evildog.workspace.invest.application.dto.BillReportPageDTO;
import com.evildog.workspace.invest.application.entity.BillReport;

import java.util.List;

/**
 * <p>
 * billReport Service
 * </p>
 *
 * @author evildog
 * @since 2020-08-06
 */
public interface BillReportService extends IService<BillReport> {

    /**
    * 自定义分页
    */
    PagedResult<BillReportPageBO> getPageList(PageQuery query, List<QueryConditionDTO> queryConditions, BillReportPageDTO pageDTO);

    /**
    * 获取List
    */
    List<BillReportListBO> getList(List<QueryConditionDTO> queryCondition, BillReportListDTO dto);

    BillReportStatBO getStatistics(Integer year);

    /**
     * 生成指定月份的报告数据
     */
    void geneReport(int year, int month);

}
